Cognitive radio, anti-jamming coding retransmission methods and systems

ABSTRACT

Implementations of the present principles include methods and systems for retransmitting un-recovered information within a cognitive radio, anti-jamming system. In accordance with aspects of the present principles, encoding schemes may be optimized for retransmission by utilizing a jamming rate and a number of un-recovered packets to minimize packet loss and thereby enhance throughput. In addition, rateless encoding features may be employed to re-encode un-recovered portions of an information sequence for efficient retransmission.

RELATED APPLICATION INFORMATION

This application claims priority to provisional application Ser. No.61/051,099 filed on May 7, 2008, incorporated herein by reference.

BACKGROUND

1. Technical Field

The present principles generally relate to anti-jamming codingtechniques for cognitive radio systems, and, more particularly, toanti-jamming coding methods and systems including retransmissionprotocols.

2. Description of the Related Art

Recently, cognitive radio has drawn significant interest due to thecongestion of unlicensed frequency bands in many countries throughoutthe world. Cognitive radio techniques are based on the concept ofspectrum under-utilization, in which licensed frequency bands are rarelyutilized to its maximum potential by licensed users. Indeed, amonglicensed bandwidth users, there is very little usage on a very largerange of spectrum in both time and space. Cognitive radio is therefore apromising solution that aims to introduce secondary, low priority usageof licensed spectrum resources while ensuring that primary usage bylicensed users is not interfered with. In accordance with some knowncognitive radio systems, such opportunistic spectrum sharing is providedby employing spectrum sensing systems that dynamically identify spectrumbands in which primary users are not active and permit utilization ofthese spectrum white spaces by secondary users.

As mentioned above, an important constraint in cognitive radio is thatthe secondary users should not interfere with primary users. Typically,the primary users are not aware of the existence of the secondary users.When a primary user begins signal transmission through channels employedby a secondary user, the secondary user immediately discontinuestransmission along these channels and switches to other availablechannels. Because such interference periods are short, they do notimpair the communication of a primary user. However, during theseperiods, the signals of a secondary user are corrupted by stronginterference from the primary user, as a secondary user usually operateswith low power profiles to minimize any interference with primary usertransmission. Such collision is also commonly referred to as jamming. Toreduce packet loss instances and maintain the communication reliabilityfor secondary users, anti-jamming coding techniques are desirable forcognitive radio systems.

With reference to FIG. 1, anti-jamming coding schemes have been studiedusing a cognitive radio system model in which information and messagesare transmitted by secondary users through many parallel subchannels.The cognitive radio system model depicted in FIG. 1 is described in moredetail below. Despite the limited success of known anti-jamming codingtechniques, packet or information loss nevertheless occurs. To theknowledge of the inventors, retransmission protocols for un-recoveredpackets and/or information have not been incorporated withinanti-jamming coding techniques.

However, retransmission schemes associated with coding in general havebeen extensively considered with regard to Gaussian or fading channelsin relation to hybrid automatic transmission requests in AutomaticRepeat Query (ARQ) schemes. Further, ARQ schemes have been studied insystems using multiple parallel channels. These ARQ schemes, however,fail to incorporate ARQ considerations with channel coding.

As discussed above, existing anti-jamming coding techniques forcognitive radio systems fail to incorporate retransmission protocols.Thus, a need exists for effective anti-jamming coding methods andsystems including retransmission protocols to address inherentinformation loss resulting from packet non-recovery due to interferencefrom primary users or other transmission interference sources.

SUMMARY

In accordance with aspects of the present principles, anti-jammingcoding schemes with retransmission protocols may be designed to provideefficient throughput and reduce information loss and average delay.Short codes based on code graphs and residual code graphs, for example,may be selected such that the probability of packet loss is minimized byutilizing a jamming rate and the number of packets that areun-recovered. In this way, the short codes may be optimized forretransmission and employed to encode the un-recovered packets.Furthermore, according to another aspect of the present principles,rateless encoding features may be employed in a retransmission processto enhance throughput performance.

In one implementation of the present principles, a method forretransmitting information in accordance with a cognitive radio,anti-jamming coding scheme includes receiving an indication ofun-recovered packets; determining that a first code graph including arepresentation of code bits within un-recovered packets has a minimumbit error probability by employing a jamming rate and a total number ofpackets that are un-recovered through decoding; encoding at least one ofthe un-recovered packets by applying a code based on the first codegraph; and retransmitting at least one encoded un-recovered packet.

In an alternate implementation of the present principles, a system forretransmitting information in accordance with a cognitive radio,anti-jamming coding scheme includes a code designing module configuredto receive an indication of un-recovered packets and configured todetermine that a first code graph including a representation of codebits within un-recovered packets has a minimum bit error probability byemploying a jamming rate and a total number of packets that areun-recovered through decoding; and an encoder configured to encode atleast one of the un-recovered packets by applying a code based on thefirst code graph for retransmission of un-recovered packets.

In another implementation of the present principles, a method forretransmitting information in accordance with a cognitive radio,anti-jamming rateless encoding scheme includes receiving an indicationthat an information sequence included within transmitted informationpackets is un-recovered through decoding; generating additional paritybits from the un-recovered information sequence in accordance with arateless encoding scheme in response to receiving the indication; andtransmitting the additional parity bits.

These and other features and advantages will become apparent from thefollowing detailed description of illustrative embodiments thereof,which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The disclosure will provide details in the following description ofpreferred embodiments with reference to the following figures wherein:

FIG. 1 depicts a high-level block diagram illustrating a cognitive radiosystem model.

FIG. 2 depicts a high-level block diagram illustrating anti-jammingrateless and piecewise coding techniques.

FIG. 3 depicts a high-level block diagram illustrating exemplaryretransmission schemes in accordance with aspects of the presentprinciples.

FIG. 4 depicts a high-level block/flow diagram illustrating an exemplarymethod for retransmitting un-recovered packets based on a piecewiseencoding, anti-jamming/cognitive radio technique.

FIG. 5 depicts a high-level block diagram illustrating exemplaryresidual graph representations corresponding to various values ofresidual erasures after decoding.

FIG. 6 depicts a high-level block/flow diagram illustrating an exemplarymethod for determining a short code optimized for retransmission andemployed to encode un-recovered packets.

FIG. 7 depicts a high-level block/flow diagram illustrating an exemplarymethod for determining a short code optimized for retransmission byconducting an exhaustive search for a code graph corresponding to aminimum bit error rate based on a jamming rate and a number ofun-recovered packets.

FIG. 8 depicts a high-level block/flow diagram illustrating an exemplarymethod for approximating a code graph corresponding to an optimal shortcode for large values of parity packets.

FIG. 9 depicts a high-level block/flow diagram illustrating analternative exemplary method for approximating a code graphcorresponding to an optimal short code for large values of paritypackets.

FIG. 10 depicts a high-level block/flow diagram illustrating anexemplary method for retransmitting un-recovered portions of aninformation sequence based on a rateless encoding,anti-jamming/cognitive radio technique.

FIG. 11 depicts a high-level block/flow diagram illustrating anexemplary system for retransmitting un-recovered information utilizinganti-jamming/cognitive radio encoding techniques.

FIG. 12 depicts an exemplary bipartite graph for a linear block codecorresponding to a specific parity-check matrix in accordance withaspects of the present principles.

FIG. 13 depicts an exemplary code graph that is represented by acardinality set in accordance with aspects of the present principles.

FIG. 14 depicts an exemplary bipartite graph illustrating therelationship between information bits and parity check nodes for anexemplary encoding scheme in accordance with aspects of the presentprinciples.

DETAILED DESCRIPTION

The present principles advantageously provide methods and systems forretransmitting information in accordance with a cognitive radio,anti-jamming coding scheme. Although the present principles aredescribed primarily within the context of piecewise coding schemes andrateless coding schemes, the specific implementations of the presentprinciples should not be treated as limiting the scope of the invention.It will be appreciated by those skilled in the art and informed by theteachings of the present disclosure that the concepts of the presentprinciples may be advantageously applied in other implementations.

Referring now in detail to the figures in which like numerals representthe same or similar elements and initially to FIG. 1, a cognitive radiosystem model for secondary usage is illustrated. As shown in the upperpart of FIG. 1, channels available to a secondary user are divided intoa large number of parallel subchannel bins 102 that form a spectrumpool. Although the whole spectrum depicted 104 is licensed to primaryusers, some subchannels 107 not utilized by a primary user are availableto secondary users, as discussed above. In this example, data blocks 106including L bits per block are transmitted along subchannels 107, asshown. Available subchannels may be identified by automatic sensingdevices, as stated above, and may be allocated to different secondaryusers based on an opportunistic spectrum assignment scheme.

To reduce any burst interference from channels 108 employed by primaryusers, the subchannels selected for one particular secondary user may bescattered throughout the spectrum pool. Thus, for example, for aparticular secondary user, only one subchannel from one licensedfrequency band is selected. Therefore, as illustrated in the lowerportion of FIG. 1, when one primary user abruptly becomes active onchannel band 118 and jams one subchannel 116 within the band, only onesubchannel out of the scattered selection for the secondary transmissionis jammed. Besides the interference from primary users, other channelimpairments, such as, deep fading, for example, may also cause decodingfailure and lead to packet loss. A decoding failure on subchannel 114may be due to such channel impairments.

The total jamming rate, p, for the cognitive radio system modeldescribed above is given by

$\begin{matrix}{{p\overset{\Delta}{=}{p_{PU} + p_{a}}},} & (1)\end{matrix}$where p_(pu) is the jamming probability from primary users and p_(a) isthe probability of a decoding failure. It is assumed here that a jammingevent is independent and identically distributed (i.i.d.) for allsubchannels. Further, in the exemplary implementations described below,a secondary user is assigned with K subchannels and one length-L binarysequence per subchannel at one time frame. When anti-jamming coding isapplied, additional M subchannels are allocated to this secondary userfor transmitting redundancy information. Thus, a total of N blocks ofdata sequences form one data frame, where N=K+M.

Utilizing the cognitive radio model described with respect to FIG. 1,two anti-jamming coding techniques for reliable transmissions incognitive radio systems, namely, rateless coding and piecewise codingare described below. Both coding schemes have low-complexityencoding/decoding processes and provide high throughput and smallredundancy. The piecewise coding scheme incorporating the designed shortcodes in accordance with aspects of the present principles providesenhanced performance with less overhead than existing cognitive radiocoding systems for a moderate jamming rate.

The designs of retransmission protocols for both anti-jamming codingtechniques provided below further improve average throughput forsecondary users. For example, one retransmission method for piecewisecoding selectively repeats and re-encodes information packets usingsystematic codes. The design of systematic codes for the piecewisecoding retransmission method is adapted to minimize the bit-error-rate(BER). In accordance with other exemplary implementations of the presentprinciples, a deterministic, rateless coding retransmission protocolwith two fixed settings for subchannel allocations is described below.Incorporating retransmission schemes in accordance with aspects of thepresent principles within either anti-jamming coding technique improvesthroughput significantly.

Anti-Jamming Coding Schemes

Exemplary anti-jamming coding schemes that may be employed by variousimplementations of the present principles are described herein below.

Anti-Jamming Piecewise Coding

Referring now to FIG. 2, depicting a high level block/flow diagramillustrating an anti-jamming piecewise coding scheme 250 includingerasure coding aspects, given K blocks of length-L data sequences 252,all the ith bits from K information blocks are selected and encodedusing an (N, K) short block code C_(i) or short codes C₁-C_(L) 254,where the (N, K) short block codes each have N coded bits. Afterobtaining a total of L codewords, each of length N, one bit per codewordis again selected to form one block of a length-L coded sequence. Nblocks 256 of coded sequences are obtained and transmitted through Nsubchannels. The N blocks 256 are composed of K information packets andM parity packets. To reduce complexity, the same code C is used in thisexemplary implementation for all L codes. However, it should beunderstood that short codes 254 may be comprised of one or moredifferent codes. In addition, a message-passing algorithm in the decodermay be employed to achieve low-complexity decoding. The short code foranti-jamming piecewise coding may be designed to achieve optimal errorcorrection performance, as discussed below.

Anti-Jamming Rateless Coding

With continuing reference to FIG. 2, depicting a high level block/flowdiagram illustrating an exemplary anti-jamming rateless coding scheme200, all K blocks of information sequences 202 may be combined into along sequence in either a random or a systematic way. Further, all KLmessage bits may be encoded using Luby-Transform (LT) rateless codes204. The output parity bits from LT encoding may be formed into N blocks206 of coded bits and transmitted through N subchannels. At thereceiver, a decoder may recover all KL information bits from collectedN_(rec) blocks of data sequences, where K≦N_(rec)≦N, using an iterativemessage-passing decoding algorithm. Additionally, the robust Solitondistribution may be employed in the LT encoding.

Retransmission Protocols for Piecewise Coding

With reference to FIG. 3C, retransmission protocols in accordance withaspects of the present principles implemented using piecewiseanti-jamming coding cognitive radio schemes for secondary users isillustrated. For the sake of brevity, the exemplary design of theretransmission protocols for anti-jamming piecewise coding describedbelow employ a systematic code for a short code C. Here, for simplicity,K blocks 302 of information sequences and M blocks 304 of parityinformation are embedded in N blocks 306 of coded bits. In accordancewith one implementation of the present principles, with systematiccodes, if any lost packets 308 and 310 transmitted at transmission T 312cannot be recovered by anti-jamming piecewise codes by employing erasurecoding aspects, only lost information packets 310 are re-encoded andretransmitted 316 at transmission T+1 314 as opposed to retransmittingall KL bits.

As shown in FIG. 3C, encoded un-recovered packets 318 may beretransmitted through channels in parallel with new packets 320 thatsucceed originally transmitted packets 310 corresponding to the encodedun-recovered packets 318 in a transmission queue. The un-recovered,re-encoded information packets 318 corresponding to packets 310 areretransmitted with subsequent information packets 320 using systematiccode C for the next transmission T+1 314. In addition, as discussedbelow, lost parity packets 308 need not be transmitted.

Although systematic codes are used for transmission, iterative decodingon a designed code graph, which is described below, may still beperformed if the systematic code is appropriately adapted. For example,a systematic irregular repeat accumulate (IRA) code may be employed.

Referring now to FIG. 4, a method 400 for retransmitting information inaccordance with a cognitive radio, anti-jamming coding scheme inaccordance with one or more different implementations of the presentprinciples is illustrated. In method 400, the retransmission process isincorporated within a piecewise coding scheme, which is described inmore detail below. Method 400 may begin at step 401 in which subchannelsare allocated to secondary users, as discussed above. Based on spectrumsensing, for example, a certain number of subchannels are determined tobe available for secondary usage. As stated above, for simplicitypurposes, N subchannels are allocated to one secondary user to transmitK packets of length-L each. The N-K subchannels are allocated forredundancy packets M.

At step 402, a designed C(N, K) code, referred to above as C, isselected based on the parameters of M, N and the jamming rate.

At step 403, the designed short codes may be retrieved from a memorydevice storing the short codes. The process for designing anddetermining short codes are discussed more fully below.

The retransmission process is depicted within block 450 and may begin atstep 404, in which a transmission counter may be initialized by settingcounter l to zero.

At step 405, it is determined whether l is greater than a maximum numberof transmissions for a packet, L_(m). If l is greater than L_(m),indicating that a timeout has occurred, then the retransmission processmay be stopped. Otherwise, the process may continue to step 406.

At step 406, it is determined whether l is zero. If l is zero, then thepackets are being transmitted for the first time and step 407 isperformed. If l is not zero, then step 415 is performed, as discussedbelow.

At step 407, a block of packets N may be piecewise encoded using thedesigned (N, K) code selected step 402. In addition, at step 407, forthe retransmission of un-recovered packets, a design code optimized forretransmission may be determined based on a jamming rate and the numberof packets that are un-recovered to minimized error probability andmaximize throughput, as discussed below. After the design code forretransmission is selected, the un-recovered packets may be piecewiseencoded for retransmission. Piecewise coding is described below.Further, as mentioned below with respect to step 415, the un-recoveredpackets may be encoded with new packets in accordance with the optimizedshort code. It should be noted that for the first transmission, in whichl is zero, all new packets in a transmission queue are encoded.

At step 408, coded N packets may be transmitted in parallel through Nsubchannels as discussed above with respect to FIG. 1. The N subchannelstransmitted may be those allocated in step 401 or step 413, discussedbelow.

At step 409, messages may be received from a receiver comprising eitheror both packet acknowledgements (ACK) and negative packetacknowledgements (NACK).

At step 410, it is determined whether packet ACKs for all informationpackets transmitted through one transmission pass have been receivedfrom a receiver. A transmission pass corresponds to a transmissioninstant T at which a block of packets, such as N, is transmitted inparallel as discussed above with respect to FIG. 1. If packet ACKs havebeen received for all information packets transmitted in one pass, thenthe retransmission process may end. If at least one negative packetacknowledgement (NACK) has been received for at least one informationpacket from a receiver, then the process may continue to steps 411 or412. A NACK may indicate that a packet has not been recovered as aresult of anti-jamming piecewise decoding by employing erasure codingaspects. Thus, in this way, a NACK may indicate packets that wereun-recovered through decoding. Alternatively, in other implementations,the NACK may indicate that a packet has not been received by a receiver.

At step 411, it may optionally be determined whether NACKs indicateinformation packets K or parity packets X have been un-recovered orun-received. In other words, it may be determine whether un-recoveredpackets are parity packets or information packets. Furthermore, at step411, the information related to M packets may be filtered such that onlyNACKs related to information packets K is further processed. In thisway, only un-recovered information packets may be retransmitted.

At step 412, feedback concerning jamming channels and un-recoveredpackets may be extracted from the received NACKs and employed in steps413 and 415, respectively, as discussed below.

At step 413, sub-channels may be reallocated for use in paralleltransmission step 408 in the next transmission pass by employing jamminginformation extracted from NACKs in step 412. For example, alternatesub-channels may be allocated for secondary usage to avoid jammingchannels employed by primary users, as discussed above.

At step 414, l may be increased by one by the counter to permitmonitoring of the number of transmissions. Thereafter, steps 405 and 406may be performed, as discussed above. As stated above with respect tostep 406, if l is determined to be a value that is not zero, step 415may be performed. An l greater than zero indicates that un-recoveredpackets are retransmitted in the transmission pass.

At step 415, the feedback concerning un-recovered packets extracted instep 412, which may include packet identifiers, is employed to retrievethe un-recovered packets and repack them with subsequent, new packets inthe transmission queue. The repacked information packets may thereafterbe sent to an encoder for piecewise encoding in step 407, as discussedabove.

Returning to step 407, in accordance with aspects of the presentprinciples, if un-recovered packets are re-packed during thetransmission pass, the packets are re-encoded with one or more designedshort codes (N, K) that are optimized for retransmission to enableefficient throughput and reduce information loss and average delay. Asdiscussed in more detail below, one or more short codes may be selectedin a way that minimizes the probability of packet loss.

Subsequent to re-encoding, steps 409 and 410 may be performed, as statedabove. Method steps 405-415 may be repeated and the process may continueuntil ACKs for the un-recovered packets or ACKs for all informationpackets transmitted through one transmission pass have been recovered bya receiver. Additionally, the process may continue until a timeoutoccurs.

Short Code Design

Referring again to step 407, as stated above, un-recovered packets maybe re-encoded with one or more short codes that are optimized forretransmission. For example, the short code may be optimized so that thepacket error probability is minimized, as discussed below.

Here, N blocks of data sequences carrying K information packetstransmitted through N parallel subchannels are considered. The number oflost or un-recovered packets after decoding at the physical layer isdenoted as n. Assuming that the total jamming rate is p, the probabilityof losing n packets, P_(n) ^((N))(p) or the packet error probability isgiven by

$\begin{matrix}{{{P_{n}^{(N)}(p)} = {\begin{pmatrix}N \\n\end{pmatrix}{p^{n}\left( {1 - p} \right)}^{N - n}}},{n = {0,1}},\ldots\mspace{14mu},N} & (2)\end{matrix}$

In piecewise coding, each packet transmitted through one particularsubchannel is actually a bit node in the short code C. Thus, the packeterror probability is the bit error rate (BER) of the code C in theerasure channels under iterative decoding. In addition, the packet errorprobability is distinguished from a frame error rate for the wholesequence through N subchannels.

The packet error probability is given by

$\begin{matrix}{{P_{b} = {{\sum\limits_{n = {M + 1}}^{N}{\frac{n}{N}P_{n}^{(N)}}} + {\sum\limits_{n = 0}^{M}\;{\sum\limits_{ɛ}{{\Pr\left( {ɛ❘n} \right)}P_{n}^{(N)}\frac{n_{a}(ɛ)}{N}}}}}},} & (3)\end{matrix}$where ε denotes a decoding error event, Pr(ε|n) is the probability of aparticular decoding error event given a number of lost packets n, andn_(a)(ε) denotes or equals the total number of un-recovered packets fromthe decoding error event. In other words, n_(a)(ε) the number ofun-recovered packets, may be the number of packets un-recovered throughdecoding. As stated above, the number of un-recovered packets may equalthe number of packets that have not been recovered as a result ofanti-jamming piecewise decoding by employing erasure coding aspects.Furthermore, the number of un-recovered packets may correspond to thenumber of packets un-recovered through one transmission pass.Additionally, in equation 3, the error probability P_(n) ^((N)) obtainedfrom equation 2 is a function of the jamming rate p. For simplicity, thenotation p in P_(n) ^((N))(p) is dropped hereinafter.

Based on the renew-reward theorem, the throughput of the anti-jammingcoding with retransmissions may be obtained from the following

$\begin{matrix}{{\eta = \frac{E\left\{ R \right\}}{E\left\{ T \right\}}},} & (4)\end{matrix}$where R is a random reward representing the transmitted informationpackets after the retransmission process stops as a result of successfuldecoding or timeout. Further T denotes the random transmission time fortwo consecutive occurrences of the recurrent event, which may bereferred to as the inter-renewal time. The inter-renewal time maycorrespond to the transmitted block length between two new transmissionprocesses. Here, as discussed below, the reward R may alternatively bedefined as the number of information packets transmitted and the cost Tmay alternatively be defined as the number of resources or subchannelsused. Thus, the throughput defined here is actually similar to thethroughput efficiency. It is clear that η≦1.

In accordance with aspects of the present principles, as discussedabove, a retransmission process incorporated with piecewise coding mayinclude re-packing un-recovered information packets with subsequentinformation packets for transmission in the next time slot. Therefore,in the retransmission slot, there are both old packets and new packets.The number of old packets and the number of new packets in theretransmission block may depend on the decoding output from the previoustransmission. Thus, it may be difficult to analyze throughput based onsuch a retransmission process directly. However, an equivalenttransmission model is proposed below to evaluate the throughput of theretransmission method described above.

For purposes of calculating throughput, as opposed to consideringdetailed decoding outputs and all retransmission scenarios, theun-recovered information packets may be treated as lost packets that arenot retransmitted. In addition, for purposes of calculating throughput,the retransmission of those lost information packets may be treated asthe transmission of new packets. Thus, in the subsequent block, and inevery transmission block, all transmitted information packets areconsidered to be new information packets. Because the jamming may beassumed to be i.i.d. among all subchannels and all transmission blocks,with the equivalent model discussed herein, the throughput from onetransmission block may be obtained by

$\begin{matrix}{{\eta = {\frac{E\left\{ K_{suc} \right\}}{E\left\{ N_{tr} \right\}} = \frac{E\left\{ {K\left( {1 - {P_{b}(p)}} \right)} \right\}}{N}}},} & (5)\end{matrix}$where K_(suc) denotes the successfully transmitted information packetsand N_(tr) denotes the resources used for transmitting K_(suc)information packets. For a constant jamming rate p, we have

$\begin{matrix}{\eta = {\frac{K}{N}\left( {1 - P_{b}} \right)}} & (6)\end{matrix}$where P_(b) is given by equation 3. Accordingly, the throughput foranti-jamming piecewise coding incorporating the retransmission methoddiscussed above may be maximized by designing a short code having aminimum bit error probability P_(b) _(min) .

To achieve optimal throughput performance with piecewise codingincorporating retransmission protocols, the short code C may be designedto have a minimum bit error rate P_(b) under iterative decoding. A codegraph representation

and residual graph representation S, defined below, may be employed tooptimize the short code. Because the first term in equation 3 does notdepend on the code graph, the code design may be summarized as

min ⁢ P b ⁡ ( ) = min ⁢ ∑ n = 1 M ⁢ ⁢ P n ( N ) ⁢ ∑ ɛ ⁢ ⁢ n a ⁡ ( ɛ ) ⁢ Pr ⁡ ( ɛ |n ) . ( 7 )

With reference to FIG. 12, regarding code graph representations andresidual graphs, a linear block code with parity check matrix H may berepresented by a Tanner graph or a bipartite graph, wherein variablenodes represent the code bits and check codes represent the parity-checkconstraints. In a Tanner Graph or Bipartite code graph representation inaccordance with one or more implementations of the present principles,an edge in the graph is placed between a variable node i and a checknode m if H_(mi)=1. In addition, no parallel edges are placed between avariable node and a check node. In other words, only one or no edges areplaced between any variable node/check node pair. Each check node isconnected to code bits whose sum modulo-2 is zero. FIG. 12 illustratesan exemplary associated bipartite graph 1200 with check nodes 1202 andvariable nodes 1204 for a (7, 4) code with the following parity checkmatrix:

$H = \begin{bmatrix}1 & 0 & 1 & 0 & 1 & 0 & 1 \\0 & 1 & 1 & 0 & 0 & 1 & 1 \\0 & 0 & 0 & 1 & 1 & 1 & 1\end{bmatrix}$

Referring now to FIG. 13, in accordance with one or more implementationsof the present principles, all the variable nodes may be grouped into2^(M)−1 sets. A variable node i belongs to the set Ω_(j), j=1, . . .,2^(M)−1, if

$\begin{matrix}{j = {\sum\limits_{m = 1}^{M}\;{2^{m - 1}{H_{m\; i}.}}}} & (8)\end{matrix}$Therefore, the code can be represented by the set

={l_(j), j=1, . . . ,2^(M)−1}, where l_(j) denotes the cardinality ofset Ω_(j), i.e., l_(j)=|Ω_(j)|. Thus, the code graph can be representedby a cardinality set with 2^(M)−1 elements. Additionally, Σ_(j)l_(j)=N.As stated above, M may correspond to the number of parity packetstransmitted in one transmission pass. FIG. 13 shows an exemplarybipartite graph 1300 including check nodes 1302 and variable nodes Ω₁-Ω₇1304 corresponding to l₁-l₇, respectively, each of which is equal to 1.In graph 1300, the (7,4) code referred to with respect to FIG. 12 isrepresented by the set

={1,1,1,1,1,1,1}.

The residual graph S may be specified by the erasure nodes that cannotbe recovered in the code graph under iterative decoding. The set Θ_(j)may be defined as follows:

$\Theta_{j}\overset{\bigtriangleup}{=}{\left\{ {{residual}\mspace{14mu}{erasure}\mspace{14mu}{node}\mspace{14mu}{i:{i \in \Omega_{j}}}} \right\}.}$Additionally, s_(j)=|Θ_(j)|. Similarly, as

specifies the code graph, the set

$S_{M,n}\overset{\bigtriangleup}{=}\left\{ {s_{j},{j = 1},\ldots\mspace{14mu},{2^{M} - 1}} \right\}$may be defined as the residual graph of n erasure nodes for M checknodes with Σ_(j)s_(j)=n_(r), where n_(r) is the total number of residualerasures after iterative decoding, with 0<n_(r)≦n.

Examination of the definition of code graph

reveals that the design of short codes should be considered with a smallM because the number of elements s_(j) increases exponentially as Mincreases. Fortunately, one important objective of the code design foranti-jamming coding is small redundancy. Therefore, the designmethodology described herein is effective. The code design for small Mis presented in detail below.

For M=1, there is only one solution

={l₁=N}. Here, all the parity bits are connected to the only paritycheck node, which may be referred to as the single parity check (SPC)code. With this code graph, any single erasure may always be recoveredwith the SPC constraint. Accordingly, Pr(E|n≦M)=0. From equation 3, thepacket error probability for anti-jamming piecewise coding with M=1 isgiven by

$\begin{matrix}{{P_{b}^{{PW}^{1}}}^{\;} = {\sum\limits_{n = {M + 1}}^{N}\;{\frac{n}{N}{P_{n}^{N}.}}}} & (9)\end{matrix}$This relation is general in that it may be applied to any code length N.

For M=2, the design of

={l₁,l₂,l₃} is applied. When n=1, the erasure bit may be recovered aslong as every variable node is connected to some check node. Therefore,Pr(E|n=1)=0. This result may be generalized to any M for n=1.

Referring now to FIG. 5, residual graph representations including checknodes 502 and variable nodes 504 are depicted. If n=2, the residualgraphs of type 506 and 508 for n_(r)=2 may, for example, not bedecodable under iterative decoding. Such residual graphs may berepresented by {s_(j)=2,s_(j′≠j)=0}, wherein two erasure nodes belong tothe same set Ω_(j). The number of undecodable packets is then n_(a)(ε)=n _(r)=2. For a given code {l_(j)}, the number of residualgraphs with two erasures included in this code is given by

$\sum\limits_{j}\;{\begin{pmatrix}l_{j} \\{2\;}\end{pmatrix}.}$It should be understood that the notation

$\left. \left( \begin{matrix}l \\s\end{matrix}\quad \right. \right)$includes

$\begin{pmatrix}l \\s\end{pmatrix} = {{0\mspace{14mu}{if}\mspace{14mu} l} < {s.}}$Thus, the error probability for n=2, is given by

$\begin{matrix}\begin{matrix}{{\Pr\left( {E,{n = 2}} \right)} = {{\Pr\left( {\left. E \middle| n \right. = 2} \right)}P_{2}^{(N)}}} \\{= {\sum\limits_{ɛ}\;{{\Pr\left( {\left. ɛ \middle| n \right. = 2} \right)}P_{2}^{(N)}}}} \\{= {\sum\limits_{j = 1}^{2^{M} - 1}\;{{\begin{pmatrix}l_{j} \\2\end{pmatrix}/\left( \frac{N}{2} \right)}P_{2}^{(N)}}}} \\{= \frac{P_{2}^{(N)}\left( {{\sum\limits_{j = 1}^{3}\; l_{j}^{2}} - N} \right)}{N\left( {N - 1} \right)}}\end{matrix} & (10)\end{matrix}$As mentioned above, only the second term in equation 3 depends on thecode graph. Because Pr(E|n=1)=0 and n_(a)(ε)=2, which is a constant forall undecodable errors, minimizing the error probability in equation 10is equivalent to

$\begin{matrix}{{\min\limits_{\{ l_{j}\}}{\sum\limits_{j}\;{l_{j}^{2}\mspace{14mu}{s.t.{\underset{j}{\mspace{11mu}\sum}\; l_{j}}}}}} = {N.}} & (11)\end{matrix}$The solution of above optimization problem for integer sets {I_(j)} isl_(j)=└N/3┘ or ┌N/3┐, with

${\sum\limits_{j = 1}^{3}\; l_{j}} = {N.}$Here, for M=2, the solution is the same as that for minimizing the frameerror rate, as the optimization problem does not depend on any channelconditions. It is also a general expression for any N. The packet errorprobability for M=2 is therefore given by

$\begin{matrix}{P_{b}^{{PW}^{2}} = {{\sum\limits_{n = {M + 1}}^{N}\;{\frac{n}{N}P_{n}^{(N)}}} + {\frac{P_{2}^{(N)}\left( {{\sum\limits_{j}\; l_{j}^{2}} - N} \right)}{N\left( {N - 1} \right)}{\frac{2}{N}.}}}} & (12)\end{matrix}$

For M=3, the design of

={l_(j)}_(j=1) ⁷ is considered. The error probabilities for n≦M isdiscussed first. If n=1, Pr(E|n=1)=0. If n=2, similarly, as discussedabove,

$\begin{matrix}{{\Pr\left( {E,{n = 2}} \right)} = {P_{w}^{(N)}{\frac{{\sum\limits_{j = 1}^{7}\; l_{j}^{2}} - N}{N\left( {N - 1} \right)}.}}} & (13)\end{matrix}$

If n=3, more residual graphs are examined as follows.

(1) In a first type of residual graphs in which n=3, all the residualgraphs include the residual graph with n_(r)=2 where two erasures are inthe same set Ω_(j), combined with one more erasure in the setΩ_(j′,j′≠j). The number of such error events for n=3 with a given code{l_(j)} is then

$\sum\limits_{j}\;{\sum\limits_{k \neq j}\;{\begin{pmatrix}l_{j} \\2\end{pmatrix}{l_{k}.}}}$Different error events and the number of error bits n_(a) are listedbelow.

(a) For j=7,n_(a)=3 for all k,k≠j.

(b) For j=3,n_(a)=3 for k=1 or k=2,n_(a)=2 for any other k.

(c) For j=5,n_(a)=3 for k=1 or k=4,n_(a)=2 for any other k.

(d) For j=6,n_(a)=3 for k=2 or k=4,n_(a)=2 for any other k.

(e) For all other cases, n_(a)=2.

Herein,

is denoted as the set of above-recited cases of {j,k} with n _(a)(ε)=2and

is denoted as the set of {j,k} with n _(a)(ε)=3.

(2) A second type of residual graphs have all three erasures in the sameset Θ_(j), as illustrated in the set of graphs 510 of FIG. 5 forn_(r)=3. The residual graphs may be represented by {s_(j)=3,s_(j′≠j)=0}with the total number of residual graphs being

$\sum\limits_{j}\;\begin{pmatrix}l_{j} \\{3\;}\end{pmatrix}$for a given code {l_(j)}. For second type of residual graphs, n_(a)(ε)=3.

(3) A third type of residual graphs are depicted in the set of graphs512 of FIG. 5, which may be summarized by the set

which is the set of indices of Ω_(j) to which the three nodes belong.Accordingly,

={(1,2,3),(1,4,5),(2,4,6),(1,6,7),(2,6,7),(4,6,7),(3,5,7),(3,6,7),(5,6,7),(3,5,6)}.

The packet error probability for n=3 is therefore

$\begin{matrix}{{P_{b}\left( {n = 3} \right)} = {{P_{3}^{(N)}\begin{pmatrix}N \\3\end{pmatrix}}^{- 1}{\left( {{\left\lbrack {{\sum\limits_{{\{{j,k}\}} \in \;}\;{\begin{pmatrix}l_{j} \\2\end{pmatrix}l_{k}}} + {\sum\limits_{j = 1}^{7}\;\begin{pmatrix}l_{j} \\{3\;}\end{pmatrix}} + {\sum\limits_{{({j_{1},j_{2},j_{3}})} \in}\;{l_{j_{1}}l_{j_{2}}l_{j_{3}}}}} \right\rbrack\frac{3}{N}} + {\sum\limits_{{\{{j,k}\}} \in}\;{\begin{pmatrix}l_{j} \\2\end{pmatrix}l_{k}\frac{2}{N}}}} \right).}}} & (14)\end{matrix}$

Thus, the total packet error probability for M=3, given by

$\begin{matrix}{P_{b}^{{PW}^{3}} = {{\sum\limits_{n = {M + 1}}^{N}{\frac{n}{N}P_{n}^{(N)}}} + {P_{2}^{(N)}\frac{2}{N}\frac{{\sum\limits_{j = 1}^{7}l_{j}^{2}} - N}{N\left( {N - 1} \right)}} + {{{P_{3}^{(N)}\begin{pmatrix}N \\3\end{pmatrix}}^{- 1}\left\lbrack {{\sum\limits_{{\{{j,k}\}} \in {??}_{3}}{\begin{pmatrix}l_{j} \\2\end{pmatrix}l_{k}}} + {\sum\limits_{j = 1}^{7}\begin{pmatrix}l_{j} \\3\end{pmatrix}} + {\sum\limits_{{({j_{1},j_{2},j_{3}})} \in {??}}{{l_{j}}_{1}l_{j_{2}}l_{j_{3}}}}} \right\rbrack}\frac{3}{N}} + {{P_{3}^{(N)}\begin{pmatrix}N \\3\end{pmatrix}}^{- 1}{\sum\limits_{{\{{j,k}\}} \in {??}_{2}}{\begin{pmatrix}l_{j} \\2\end{pmatrix}l_{k}{\frac{2}{N}.}}}}}} & (15)\end{matrix}$Accordingly, the code design for M=3 may be summarized as

$\begin{matrix}{{\min\limits_{\{ l_{j}\}}{P_{b}^{{PW}^{3}}\mspace{11mu}{s.t.\mspace{11mu}{\sum\limits_{j = 1}^{7}l_{j}}}}} = {N.}} & (16)\end{matrix}$

Here, the optimum

for M=3 is not a universal solution, as it depends on the code length Nand the jamming rate p. Given N and p, an exhaustive search for theoptimum code graph

should be performed, as discussed more fully below.

For other values of M, code graphs may be designed in a manner and withthe same considerations described with respect to the M=3 case. However,due to the considerable number of all possible residual graphs, it maybe advantageous to obtain all the residual graphs and the correspondingnumber of unrecoverable bits numerically.

With reference to Table 1, the total number of residual graphs fordifferent number of erasures n and the number of residual graphs with aparticular number of unrecoverable packets n_(a), which also correspondsto the number of un-recovered (N, K) short coded bits, for M=4 islisted. With all residual graphs, the codes for M=4 may be designed byemploying equation 7. However, as illustrated by Table 1, compared withthe residual graphs for M=3, the number of residual graphs for M=4increases substantially for increasing n and n_(a). Despite the numberof residual graphs, optimal codes with small N may be designed byconducting an exhaustive search for the optimal code graph.

TABLE 1 No. of No. of Residual Erasures n_(a) = 2 n_(a) = 3 n_(a) = 4Graphs n = 2 15 15 n = 3 160 134 294 n = 4 624 792 1101 2517

Referring now to Table 2, provided below, the total number of residualgraphs for different number of erasures n and the number of residualgraphs with a particular number of unrecoverable bits n_(a) for M=5 islisted. As illustrated by Table 2, similar to the M=4 case, the totalnumber of residual graphs increases significantly for increasing n andn_(a). For n=5, the number of residual graphs is 295,351. With such alarge amount of residual graphs, and even more code graphs, it isdifficult to obtain the optimal results for N>10. The followingapproximation approach may be employed to design the short code for M=4and M=5:

-   -   For small N, e.g., N≦0, an exhaustive search may be conducted to        find the optimal code graph        (N).    -   For larger N, e.g., N>10, the following approximation method may        be utilized to determine an optimal code graph for larger N.        Using the designed code graph for a code length N,        (N)={l*_(j)(N)}, suboptimal codes corresponding to a subset of        all code graphs for code length N+1 are obtained by perturbing        an optimal set        (N) for the length-N code with a degree u, given by        {l* _(j)(N)−u≦l _(j) ≦l* _(j)(N)+u+1}  (17)        with

${\sum\limits_{j = 1}^{2^{M} - 1}l_{j}} = {N + 1.}$Thereafter, the optimal code graph

(N+1) for code length N+1 may be obtained by searching the subset, asdiscused above. As described below, the process may be performediteratively until a desired code length N is reached.

The complexity for the above-recited approximation method depends on theperturbation degree u. Increasing the values of u improves results atthe expense of higher complexity. For M=4, the resulting optimal codesare reasonably sufficient even if a value of u=1 is employed.

TABLE 2 No. of No. of Residual Erasures n_(a) = 2 n_(a) = 3 n_(a) = 4n_(a) = 5 Graphs n = 2 31 31 n = 3 750 621 1371 n = 4 7380 8630 1187627886 n = 5 31440 42420 79870 141621 295351

Although the above-recited approximation method may yield results withina reasonable time for the M=4 case, the approximation method may bedifficult to apply to the M=5 case due to the large amount of residualgraphs that are analyzed. As such, a second approximation method withless computation complexity in accordance with one or moreimplementations of the present principles is introduced below.

The second approximation method is similar in some aspects to the firstapproximation local search method. However, the optimal code graphrepresentation obtained for a code of length N in the secondapproximation method is not dependent on the optimal code graphrepresentation obtained for a code of length N−1. Algorithm 1, depictedin Table 3 below, illustrates one implementation of the secondapproximation method for determining short codes optimized forretransmission in a anti-jamming piecewise coding scheme. The methodperformed in accordance with Algorithm 1 is described more fully belowwith respect to method 900 of FIG. 9.

TABLE 3 Algorithm 1 For i = 1, . . . , 2^(M) − 1 Let l_(j) = 0, ∀j ≠ i,l_(i) = N. For k = 1, . . . , N l_(i) ← l_(i) − 1 Compute the P_(b)

${{{where}\mspace{14mu}}\overset{\Delta}{=}\left\{ {l_{1},\ldots\;,l_{j - 1},{l_{j} + 1},l_{j + 1},\ldots\;,l_{2^{M} - 1}} \right\}},{for}$j = 1, . . . , 2^(M) − 1. Find j* = argmin_(j) P_(b)

. l_(j*) ← l_(j*) + 1 Output the result

 = {l₁, . . . , l₂ _(M) ⁻¹}, Determine and output

 = argmin

P_(b)

.

Referring now to FIG. 6 with continuing reference to FIG. 4, ahigh-level flow diagram illustrating one exemplary method implementationof the present principles 600 for determining optimal short codes orcorresponding code graphs incorporating features discussed above isprovided. For example, method 600 may be performed at step 407, whereinthe optimal short codes are determined and employed to re-encodeun-recovered packets for retransmission. Method 600 may begin atinitialization step 601 in which information bits K, code word length N,parity bits M=N−K, jamming rate p, and P_(n) ^((N))(p) are set, obtainedand/or determined. P_(n) ^((N))(p) may be determined by applyingequation 2,

${{P_{n}^{(N)}(p)} = {\begin{pmatrix}N \\\; \\n\end{pmatrix}{p^{n}\left( {1 - p} \right)}^{N - n}}},{n = 0},1,\ldots\mspace{14mu},N,$as discussed above.

In accordance with method 600, depending on the value of M, differentprocesses may be applied to determine a short code that is optimized forretransmission. At step 602, the value of M is determined.

If M=1, the process may proceed to step 603, wherein the codescorresponding to the single parity check codes are selected as optimalshort codes to be employed for encoding. As discussed above, for M=1,

={l_(l)=N}. The SPC codes may be employed for all N.

If M=2, the process may proceed to step 604, wherein the codecorresponding to code graph

={l_(j)}, wherein

${l_{j} = {{round}\left( \frac{N}{3} \right)}},{{\sum l_{j}} = N},$is selected as the optimal short code, as discussed above. Here, thecode graph corresponding to the optimal short code has one third ofvariable nodes that are connected to one of the check nodes, another onethird of variable nodes are connected to the other check node and theremaining one third of variable nodes are connected to both check nodes.

If M=3, or if M=4,5 with small K, the process may proceed to step 605,in which an exhaustive search is performed as discussed below withrespect to method 700 to determine the optimal short code. Here “smallK” may vary depending on the processing capacity employed to implementmethods in accordance with aspects of the present principles. Forexample “small K” may correspond to K≦10 or K≦4 (N≦10, as discussedabove), K values between these two, or other K values.

For all other values of M, the process may proceed to step 606, in whichapproximation methods in accordance with either of methods 800 or 900,discussed below, are employed to determine the optimal short code.

Referring now to FIG. 7 with continuing reference to FIG. 6, ahigh-level block/flow diagram depicting a method 700 for performing anexhaustive search for optimal short codes that may be employed in step605 is illustrated. Method 700 may begin at step 701, in which allpossible code graphs

={l_(j)} with Σl_(j)=N are determined and compiled.

At step 702, the bit error rate for

may be determined by employing equation 3,

${\sum\limits_{n = 1}^{M}{P_{n}^{(N)}{\sum\limits_{ɛ}{{n_{a}(ɛ)}{\Pr\left( ɛ \middle| n \right)}}}}},$simply

${P_{b} = {{\sum\limits_{n = {M + 1}}^{N}{\frac{n}{N}P_{n}^{(N)}}} + {\sum\limits_{n = 0}^{M}{\sum\limits_{ɛ}{{\Pr\left( ɛ \middle| n \right)}P_{n}^{(N)}\frac{n_{a}(ɛ)}{N}}}}}},{or}$as discussed above. Here, the bit error rate for

in the jamming channels may be determined.

At step 703, it may be determined whether all

are evaluated. If not all

have been evaluated, the process may continue to step 702 in which thebit error rate for an unevaluated

is determined. If all

have been evaluated, the method may proceed to step 704.

At step 704, the code graph

with the minimum bit error rate P_(b) is determined and selected as

by employing the following:

${{\min\limits_{\mathcal{L}}{P_{b}(\mathcal{L})}} = {\min\limits_{\mathcal{L}}{\sum\limits_{n = 1}^{M}{P_{n}^{(N)}{\sum\limits_{ɛ}{{n_{a}(ɛ)}{\Pr\left( ɛ \middle| n \right)}}}}}}},$as discussed above. The code corresponding to

is selected as the optimal short code and is employed to re-encodeun-recovered packets for retransmission, as discussed above.

Referring now to FIG. 8 with continuing reference to FIG. 6 and FIG. 7,a high-level block/flow diagram depicting a method 800 for performing anapproximation to determine optimal short codes that may be employed instep 606 is illustrated. Method 800 is an implementation of the firstapproximation method discussed above. Here, it is assumed that thedesired optimal code corresponds to a code length of G,

(G).

At step 801, a designed optimal code graph,

(N), corresponding to a computationally convenient code length N, whereN<G, may be determined or retrieved in accordance with the exhaustivesearch method 700 described above. In addition, as discussed below, thecode graph

(N) may correspond to a code graph determined in a previous iteration inmethod 800.

At step 802, a subset of code graphs

(N+1) for length-(N+1) is generated by perturbing the designed codegraph

(N)={l* _(j)(N)} for length-N with degree-u in accordance with equation17, {l* _(j)(N)−u≦l _(j)≦l* _(j)(N)+u+1}, as discussed above.

It should be noted that here, all code graphs

(N) and

(N+1) correspond to the same value of M. Thus, the code graph

(N) represents a number of code bits that is less than the number ofcode bits represented by any one of code graphs

(N+1).

At step 803, the bit error rate for a code graph

(N+1) may be determined by employing equation 3,

${{P_{b} = {{\sum\limits_{n = {M + 1}}^{N}{\frac{n}{N}P_{n}^{(N)}}} + {\sum\limits_{n = 0}^{M}{\sum\limits_{ɛ}{{\Pr\left( ɛ \middle| n \right)}P_{n}^{(N)}\frac{n_{a}(ɛ)}{N}}}}}},{{or}\mspace{14mu}{simply}}}\;$${\sum\limits_{n = 1}^{M}{P_{n}^{(N)}{\sum\limits_{ɛ}{{n_{a}(ɛ)}{\Pr\left( ɛ \middle| n \right)}}}}},$as discussed above. Here, the bit error rate for

(N+1) in the jamming channels may be determined.

At step 804, it may be determined whether all

(N+1) in the subset {l* _(j)(N)−u≦l _(j)≦l* _(j)(N)+u+1} have beenevaluated. If not all

(N+1) in the subset have been evaluated, the process may continue tostep 803 in which the bit error rate for an unevaluated

(N+1) is determined. If all

(N+1) in the subset have been evaluated, the method may proceed to step805.

At step 805, the code graph

(N+1) with the minimum bit error rate P_(b) is determined and selectedas

(N+1) by employing the following:

${{\min\limits_{\mathcal{L}}{P_{b}(\mathcal{L})}} = {\min\limits_{\mathcal{L}}{\sum\limits_{n = 1}^{M}{P_{n}^{(N)}{\sum\limits_{ɛ}{{n_{a}(ɛ)}{\Pr\left( ɛ \middle| n \right)}}}}}}},$as discussed above.

At step 806, it may be determined whether N+1=G.

If N+1=G, then, in step 807,

(N+1) is selected as the code graph corresponding to the approximatedoptimal short code. As discussed above, the approximated optimal shortcode is employed to re-encode un-recovered packets for retransmission.

If N+1≠G, then the method may proceed to step 808, in which N+1 may beset to N and

(N+1), determined in step 805, is retrieved as

(N) in step 801. In this way, method 800 may be iteratively performeduntil the desired optimal code corresponding to a code length of G,

(G), is approximated.

Referring now to FIG. 9 with continuing reference to FIG. 6, ahigh-level block/flow diagram depicting an alternative method 900 forperforming an approximation to determine optimal short codes that may beemployed in step 606 of method 600 is illustrated. Method 900 is animplementation of the second approximation method described above. Asdemonstrated below, method 900 involves less computational complexitythan iteratively perturbing optimal code graphs and generating subsetsof code graphs.

Method 900 may begin at step 901 in which i is set to i=1 and l_(i) isinitially set to l_(i)=N for all j≠i, l_(j)=0 in code graphrepresentation

={l _(b),b=1, . . . 2^(M)−1}, where element l_(i) is the currentlyexamined element of code graph representation

and the l_(j) elements correspond to all other elements in code graphrepresentation

.

At step 902, l_(i) is decreased by 1.

At step 903, 1 is added to the element that results in the

configuration with the lowest bit rate of all possible

configurations. The element to which the 1 is added is determined bycalculating the bit error rate for each code graph arrangement of eachelement configuration and selecting the configuration and correspondingarrangement having the lowest bit error rate.

For example, in one implementation of the present principles, thej*^(th) set is the set or element that results in an

configuration that has the minimum bit error rate if a node is added toit. Here,

corresponds to the temporary configurations of

used for calculation purposes. To obtain j*, the bit error rate for allpossible node configurations and corresponding code graph arrangementsof

is evaluated. In other words,

${{{P_{b}\left( \mathcal{L}_{j} \right)}\mspace{14mu}{for}\mspace{14mu}\mathcal{L}_{j}}\overset{\Delta}{=}\left\{ {l_{1},\ldots\mspace{14mu},l_{j - 1},{l_{j} + 1},l_{j + 1},\ldots\mspace{14mu},l_{2^{M} - 1}} \right\}},$for all j=1, . . . ,2^(M)−1 is determined. The j^(th) set that resultsin an

configuration that has the minimum bit error rate of all configurationsof

if a node is added to it is selected as j* and a node is added to it,i.e., l*_(j)←l*_(j)+1.

It should be understood that the bit error rate for one code grapharrangement or configuration is computed for one code graph with thej^(th) group to which a node is added, i.e. l _(j)=l _(j)+1, byemploying equation 3,

${P_{b} = {{\sum\limits_{n = {M + 1}}^{N}{\frac{n}{N}P_{n}^{(N)}}} + {\sum\limits_{n = 0}^{M}{\sum\limits_{ɛ}{{\Pr\left( ɛ \middle| n \right)}P_{n}^{(N)}\frac{n_{a}(ɛ)}{N}}}}}},$or simply

${\sum\limits_{n = 1}^{M}{P_{n}^{(N)}{\sum\limits_{ɛ}{{n_{a}(ɛ)}{\Pr\left( ɛ \middle| n \right)}}}}},$as discussed above. As stated above, the code graph with the minimum biterror rate is selected among all j and l*_(j) is set to l*_(j)+1.

Step 903 is performed for N iterations until a set

={l₁, . . . , l₂ _(M) ⁻¹} is obtained, where

corresponds to the code graph representation having the lowest bit errorrate among all code graph representations

determined for l_(i) after N iterations.

At step 904, the results

for i are output and evaluated in accordance with step 907, discussedbelow.

At step 905, it is determined whether all i have been evaluated, orequivalently, whether i=2^(M)−1. If i≠2^(M)−1, then the process proceedsto step 906. If i=2^(M)−1, then the process proceeds to step 907.

At step 906, i is increased to i+1 and step 901 is performed. Theprocess may repeat until i=2^(M)−1.

At step 907, code

having the minimal bit error rate among all

is selected as the code graph corresponding to the approximated optimalshort code that is employed to re-encode un-recovered packets forretransmission, as discussed above.

In method implementations described above, the short codes used toencode un-recovered packets for retransmission are determined by findinga corresponding code graph having the minimum bit error rate.Specifically, both a jamming rate and the number of packets un-recoveredthrough decoding are employed to determine the short code. In this way,by basing the short code design on a jamming rate and the numberun-recovered packets, the short code is optimized for retransmission ina cognitive radio system.

Retransmission Protocols for Rateless Coding

With reference now to FIGS. 3A-3B, as mentioned above, in accordancewith other implementations of the present principles, retransmissionschemes may be incorporated within a rateless coding anti-jammingtechnique for cognitive radio systems.

In a rateless coding system, straightforward retransmission ofun-recovered packets is not efficient. With reference to FIG. 3A, anexemplary retransmission protocol for an anti-jamming rateless codingscheme in accordance with aspects of the present principles isillustrated. Utilizing the advantages of the rateless feature, moreparity bits of an information sequence may be generated by ratelessencoding, which may form additional redundant packets forretransmission, thereby resulting in improved throughput performance, asdiscussed below. For example, as depicted in FIG. 3A, information lostdue to un-recovered packets 356 initially transmitted in transmission T352 may be included within a subsequent transmission block T+1 354. Inblock T+1 354, n_(r) subchannels may be assigned for the retransmissionof additional redundant packets n_(r) 358 corresponding to theinformation sequence that was not recovered in the previous transmissionT 352. Further, N−n_(r) subchannels may be assigned for the transmissionof a new information sequence in parallel with retransmission ofadditional redundant packets n_(r). The number, n_(r), subchannelsassigned for additional redundant packets of a previous transmissionpass may be fixed, regardless of the number of lost or un-recoveredpackets. With rateless encoding retransmission, signals indicatingidentifiers of un-recovered packets from the previous transmission T 352need not be sent to the transmitter. Accordingly, a simple indicationthat the information sequence transmitted at T 352 had not beenrecovered may be sent to the transmitter. Such an indication may beprovided by a NACK.

Referring again to FIG. 2 with continuing reference to FIG. 3A, itshould be noted that the content of the additional redundant packetsn_(r) 358 is different from the content of lost packets 356. The contentof the additional redundant packets n_(r) 358 is composed of additionalparity bits generated by the rateless encoding of the K blocks of aninformation sequence, e.g., 202, that was transmitted at T 352. Thoseadditional redundant packets transmitted at T+1 354 may be differentfrom any one of the N packets previously transmitted at T 352, asdiscussed hereinbelow.

For example, in one implementation of the present principles, aLuby-Transform (LT) code may be employed in retransmission ofinformation corresponding to lost information packets. First, with agiven input of K information symbols, which may correspond to bits orpackets, i information bits may be randomly chosen according to thedegree distribution v(i), i=1, . . . , k with Σν(i)=1. The i informationbits may be less than the total number of bits in a given informationsequence of K information symbols. Second, a single parity-check (SPC)bit of these i information bits is determined as a coded bit. It shouldbe understood that by repeating these two steps, as many LT coded bitsas needed may be obtained.

In accordance with an aspect of the present principles, a robust Solitondistribution for μ(i) may be used in LT encoding. Given designparameters c>0 and σ, the robust Soliton distribution for a length-Kinformation sequence may be defined as

${{v(i)} = \frac{{\rho(i)} + {\tau(i)}}{\sum\limits_{j = 1}^{k}\left( {{\rho(j)} + {\tau(j)}} \right)}},{i = 1},\ldots\mspace{14mu},k,{where}$${\rho(i)} = \left\{ {\begin{matrix}{{1/k},} & {{i = 1},} \\{\frac{1}{i\left( {i - 1} \right)},} & {{i = 2},\ldots\mspace{14mu},k,}\end{matrix},{{\tau(i)} = \left\{ {\begin{matrix}{\frac{R}{ik},} & {{i = 1},\ldots\mspace{14mu},{{k/R} - 1},} \\{{R\;{{\ln\left( {R/\sigma} \right)}/k}},} & {{i = {k/R}},} \\0 & {{i = {{k/R} + 1}},\ldots\mspace{14mu},k,}\end{matrix},{and}} \right.}} \right.$R=cln(k/σ)√{square root over (k)}. In addition, in one or moreimplementations of the present principles, pre-coding may be appliedbefore LT encoding in accordance with raptor coding techniques.

With reference to FIG. 14, at a corresponding decoder, LT codes forerasure channels may be employed. In the Tanner graph of LT codesillustrated in FIG. 14, an edge connects an information bit 1402 and acoded bit 1404 if the information bit is one of the inputs from whichthe SPC bit 1404 was generated. The LT decoding may be performed inaccordance with the following two-step process.

First, among all received coded hits 1404, the coded bits 1404 that areeach connected to only one information bit 1402 are determined. Here,these information bits 1402 are referred to as the singly-recoveredinformation bits. The singly-recovered information bits may then berecovered through their corresponding connected coded bits 1404.

Second, every connection of the singly-recovered information bits to thecoded bits 1404 is determined. The binary value of any correspondingcoded bit is updated by performing binary addition of the coded bit andthe information bits in the connection. The connection may thereafter beremoved. Subsequently, some updated coded bits with only one connectionto the information bit emerge. The two steps may be repeated until allthe information bits are recovered or until further recovery may not beobtained. If no newly updated coded bit with only one connection isobtained after a certain number of iterations and some un-recoveredinformation bits remain, the decoding process is stalked. A decodingfailure may then be declared.

With reference to FIG. 3A, a decoding failure indicates that aninformation sequence of K information bits has not been recovered. Insuch circumstances, as mentioned above, retransmission protocols inaccordance with aspects of present principles may be applied. Forexample, in the next transmission pass, after receiving an indication ofan un-recovered information sequence K, transmitted at T 352, forexample, additional information bits from the sequence may be includedin the set i mentioned above for LT encoding and generation of singleparity bits. Thus, the information sequence corresponding to all packetstransmitted during the transmission T 352 may be employed to generateadditional or new single parity-check bits for retransmission. In thisway, the n_(r) packets formed by additional single parity check bits 358generated for retransmission at T+1 354 may be completely different fromany N packets transmitted at T 352. In addition, it should be understoodthat the single parity check bits need not be generated from the entireinformation sequence. For example, as stated above, i information bitsmay be randomly chosen from the information sequence to generate asingle parity check bit. Further, the additional single parity checkbits generated for retransmission in response to receiving an indicationof an un-recovered information sequence may be new in the sense thatthey are different from rateless encoded bits transmitted in a previoustransmission pass due to a different selection of i information bits.

While two settings, setting A and setting B, discussed below, employsingle parity check bits n_(r) that were generated from only informationbits of the information sequence K transmitted at a previoustransmission T 352, it should be understood that one of ordinary skillin the art may extend the principles disclosed herein to generate singleparity-check bits for retransmission by employing both new andun-recovered information bits.

Returning to FIG. 3A, the remaining N−n_(r) subchannels may be allocatedfor the transmission of subsequent data packets in the transmissionqueue. After retransmission, if the receiver does not recover theinformation packets, additional parity packets may be generated againand transmitted in the next transmission block. The maximum number ofretransmissions may be denoted as L_(m).

Referring now to FIG. 3B, with n_(r) subchannels assigned forretransmission, in accordance with aspects of the present principles,two settings for retransmission, wherein N−n_(r) subchannels may beemployed for the transmission of subsequent data packets in thetransmission queue, are illustrated. In setting A 360, K blocks of a newinformation sequence are carried by N−n_(r) rateless coded packets thatare transmitted along K subchannels 364 and M−n_(r) 362 subchannels intransmission block T+1 361. M−n_(r) 362 subchannels are allocated forM−n_(r) redundant packets for the K blocks of the new informationsequence. In setting B 370, K−n_(r) blocks of a new information sequenceare carried by N−n_(r) rateless coded packets that are transmitted alongK−n_(r) subchannels 374 and M subchannels 372 in transmission block T+1371. Here, M subchannels 372 are retained for M redundant packets forK−n_(r) blocks of a new information sequence. Of course, setting A 360incurs less redundancy and higher throughput. However, less redundancyleads to higher error probability for the transmission of K packets insetting A 360, which consequently may increase the number ofretransmissions. In some cases, the number of retransmission blocks inthe queue may cause a backlog, which may in turn cause systeminstability. With setting B, wherein less information packets aretransmitted and the same redundancy is retained, the code rate is lower,resulting in a lower error probability. Thus, although setting A mayprovide high throughput, while setting B may provide a more reliableretransmission protocol.

it should be noted that in accordance with a rateless encoding scheme,there is a certain convergence region of jamming rates beyond which theretransmission process may be unstable. P_(w) ^((N−n) ^(r) ^(,K))(l) andP_(w) ^((N−n) ^(r) ^(,K−n) ^(r) ⁾(l) may be denoted as the decodingerror probabilities after the Ith retransmission for setting A andsetting B, respectively. It can be shown that the stability conditionfor both setting A and setting B for a certain L_(m) is b_(n) _(r) ≦1,where

$b_{n_{r}}\overset{\Delta}{=}{\sum\limits_{l = 0}^{L_{m} - 1}{P_{w}^{({{N - n_{r}},K})}(l)}}$for setting A and

$b_{n_{r}}\overset{\Delta}{=}{\sum\limits_{l = 0}^{L_{m} - 1}{P_{w}^{({{N - n_{r}},{K - n_{r}}})}(l)}}$for setting B for general n_(r).

With reference now to FIG. 10 with continuing reference to FIGS. 3A-3Band FIG. 2, an exemplary method 1000 for retransmitting an un-recoveredinformation sequence by employing an anti-jamming rateless coding schemein accordance with one or more implementations of the present principlesis illustrated. Method 1000 may begin at step 1001 in which subchannelsmay be allocated for secondary usage by utilizing a spectrum sensingsystem, as discussed above. In this exemplary implementation, it isassumed that N subchannels are allocated to one user for thetransmission of K packets, each of which is of length-L. The redundancymay occupy M subchannels, wherein M=N−Ksubchannels.

At step 1002, a transmission counter may be initialized such that l=0.

At step 1003, it is determined whether l is greater than L_(m). Here,L_(m) may correspond to the maximum number of retransmissions that maybe performed before timeout. Thus, if l>L_(m), the retransmissionprocess may end. Otherwise, the method may continue.

At step 1004, it is determined whether retransmissions should beapplied. The determination may be based on any received NACKs, asdiscussed below, or may be determined based on the value of l. Forexample, an l>0 may be an indication that a retransmission should beperformed. If retransmissions should not be applied, the method mayproceed to step 1005. Otherwise, the method may proceed to step 1006.

At step 1005, all new K information packets may be encoded by employinga rateless coding scheme, as discussed above with respect to FIG. 2.

Returning to step 1006, at step 1006, an information sequence that wasnot recovered as a result of decoding may be encoded using a ratelessencoding scheme to form n_(r) 358 packets for transmission along n_(r)subchannels, as discussed above, for example, with respect to FIGS.3A-3B. The remaining packets may be encoded in accordance with setting Aor setting B, as discussed above with respect to FIG. 3B, fortransmission along the remaining N−n_(r) subchannels. For example, insetting A, K subsequent information packets may be encoded to formN−n_(r) rateless coded packets and, in setting B, K−n_(r) subsequentinformation packets may be encoded to form N−n_(r) rateless codedpackets, as discussed above with respect to FIG. 3B. Thus, as discussedabove with respect to FIG. 3B, M−n_(r) packets are employed forredundancy in setting A and M packets are employed for redundancy insetting B.

Furthermore, it should also be noted that at step 1006, a single paritycheck bit may be generated from a plurality of un-recovered bits withinan un-recovered information sequence. As discussed above, in accordancewith one or more implementations of the present principles, one or moreadditional or new single parity-check bits may be generated forretransmission by employing an un-recovered information sequence. Anindication that an information sequence transmitted in a pass was notrecovered through decoding may be provided by a NACK, as discussedabove.

Subsequent to encoding at either of steps 1005 and 1006, at step 1007, Ncoded packets may be transmitted in parallel through N subchannels, asdiscussed above. The subchannels on which the N coded packets aretransmitted may correspond to the subchannels allocated in step 1001 orthe subchannels allocated in step 1012, as discussed below. In addition,in accordance with one or more aspects of the present principles, n_(r)subchannels may be allocated for retransmission of additional singleparity check bits. The number, n_(r), of subchannels allocated forretransmission of additional single parity check bits may be fixed,regardless of the number of un-recovered or lost packets from a previoustransmission pass.

At step 1008, either an ACKs or NACKs may be received from a receiverfor a transmission pass. For rateless encoding retransmission protocolsaccording to aspects of the present principles, an ACK may indicate thatthe information sequence transmitted in a transmission pass has beenrecovered while a NACK may indicate that the information sequencetransmitted in a transmission pass has not been recovered.

At step 1009, it is determined whether packet an ACK for an informationsequence transmitted through a transmission pass has been received froma receiver. If an ACK has been received, then the retransmission processmay end. If a NACK has been received for an information sequencetransmitted in a previous transmission pass from a receiver, then theprocess may continue to step 1010.

At step 1010, information concerning jamming channels may be extractedfrom one or more NACKs for utilization in step 1012.

At step 1011, l may be increased by one by the counter to permitmonitoring of the number of transmissions.

At step 1012, sub-channels may be reallocated for use in paralleltransmission step 1007 in the next transmission pass by employingjamming information extracted from NACKs. For example, alternatesub-channels may be reallocated for secondary usage to avoid an equalnumber of jamming channels, for example, employed by primary users, asdiscussed above.

The process may repeat until it is determined that no NACKs are receivedat step 1009 or until timeout.

Referring now to FIG. 11 with continuing reference to FIGS. 4 and 10, ahigh-level block for diagram illustrating a cognitive radio,anti-jamming retransmission system 1100 in accordance with aspects ofthe present principles is illustrated. The system 1100 may include atransmitter 1102 and a receiver 1108. Although elements 1102 and 1108are referred to here for simplicity of understanding as a transmitterand a receiver, respectively, it should be understood that either one orboth of elements 1102 and 1108 may be configured to both receive andtransmit information, as known to those of skill in the art.Furthermore, it should also be understood that although only onetransmitter 1102 and one receiver 1108 are illustrated, either or bothtransmitter 1102 and receiver 1108 may be configured to communicate witha plurality of transmitters and/or receivers.

Transmitter 1102 may include a code designing module 1104, an encoder1106 and a decoder 1107. The code designing module 1104 may beconfigured to perform one, more than one, or all of steps 401-415 andsteps discussed in detail above. In addition, the code designing module1104 may be further configured to employ the encoder 1106 to encodeinformation sequences and/or packets in accordance with one, more thanone or all of steps 407, 1005 and 1006. Similarly, the code designingmodule 1104 may be further configured to employ the decoder 1107 todecode ACKs and NACKs received from a receiver in accordance with step412 and/or step 1010, for example. Additionally, encoded data packetsmay be transmitted from the transmitter 1102 to the receiver 1108through N subchannels, as discussed above. Further, the code designingmodule 1104, encoder 1106 and decoder 1107 may be implemented insoftware and/or hardware utilizing a processor and computer-readablememory.

Receiver 1108 may include a decoder 1110 and an encoder 1112. Thedecoder 1110 may be configured to decode packets transmitted fromtransmitter 1102. Similarly, encoder 1112 may be configured to encodeACKs and NACKs for transmission to transmitter 1102. The decoder 1110and encoder 1112 may be implemented in software and/or hardwareutilizing a processor and computer-readable memory.

Analysis of the above-recited retransmission schemes for both piecewiseand rateless encoding schemes has revealed that a significantimprovement of throughput performance may be achieved over knownmethods. For example, with regard to the short code optimizationretransmission scheme discussed above, improvement of throughputperformance over schemes in which a short code is optimized with minimaloverhead without consideration of a jamming rate and schemes in which ashort code is randomly generated has been confirmed.

Furthermore, it should be noted that comparison between theretransmission schemes discussed above with respect to piecewise andrateless encoding techniques indicates that both retransmission schemeshave similar performance, except that the short code optimizationretransmission scheme has more flexibility without any convergenceproblem. Moreover, analysis has also revealed that, for ratelessencoding, the jamming rate threshold p of the convergence regionincreases as M increases, indicating improvement of system reliabilitywith increasing M.

In addition, the throughput performance of the retransmission protocolsusing an anti-jamming rateless coding scheme with variousn_(r)′s,e.g.,n_(r)=1,2,5, and 10, has been examined. In setting B, the pthreshold for system convergence increases as n_(r) increases,indicating that increasing n_(r) may enhance system stability. However,the throughput performance may degrade as n_(r) increases. For example,when n_(r)=10, the resulting throughput performance is worse than ananalogous throughput performance of a short code optimizationretransmission scheme discussed above. Thus, n_(r) and M should beselected in way that balances performance and system stability.

As stated above, implementations of the present principles significantlyimprove throughput performance for cognitive radio systems. For example,implementations of the present principles include optimizing short codesfor retransmission by employing both a jamming rate and the number ofpackets that are un-recovered to select the codes such that aprobability of packet loss is minimized. Furthermore, implementations ofthe present principles may also utilize rateless encoded additionalparity bits and negative acknowledgments for retransmission ofun-recovered information sequences to improve throughput performance.Thus, in accordance with aspects of the present principles, there-encoding process may be optimized for retransmission and employed toencode un-recovered information.

It should be understood that implementations described herein may beentirely hardware, entirely software or include both hardware andsoftware elements. For example, the present principles may beimplemented in software, which includes but is not limited to firmware,resident software, microcode, etc.

Implementations may include a computer program product accessible from acomputer-usable or computer-readable medium providing program code foruse by or in connection with a computer or any instruction executionsystem. A computer-usable or computer readable medium may include anyapparatus that stores, communicates, propagates, or transports theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. The medium can be magnetic, optical,electronic, electromagnetic, infrared, or semiconductor system (orapparatus or device). The medium may include a computer-readable mediumsuch as a semiconductor or solid state memory, magnetic tape, aremovable computer diskette, a random access memory (RAM), a read-onlymemory (ROM), a rigid magnetic disk and an optical disk, etc.

Having described implementations of methods and systems (which areintended to be illustrative and not limiting), it is noted thatmodifications and variations can be made by persons skilled in the artin light of the above teachings. It is therefore to be understood thatchanges may be made in the particular implementations disclosed whichare within the scope and spirit of the invention as outlined by theappended claims. Having thus described aspects of the presentprinciples, with the details and particularity required by the patentlaws, what is claimed and desired protected by Letters Patent is setforth in the appended claims.

1. A method for retransmitting information in accordance with acognitive radio, anti-jamming coding scheme comprising: receiving anindication of un-recovered packets; determining that a first code graphincluding a representation of code bits within un-recovered packets hasa minimum bit error probability by employing a jamming rate and a totalnumber of packets that are un-recovered through decoding; encoding atleast one of the un-recovered packets by applying a code based on thefirst code graph; and retransmitting at least one encoded un-recoveredpacket; wherein the determining comprises: setting a first element of acode graph representation to a total number of packets transmitted inparallel; iteratively decreasing a value of the first element to therebydistribute a value of a total number of packets transmitted in parallelto other elements in the code graph representation, wherein distributionis based on calculating a minimum bit error probability for each codegraph configuration at each iteration step.
 2. The method of claim 1,further comprising: generating a subset of code graphs by perturbing acode graph representation of a number of code bits that is less than thenumber of code bits represented by one of the code graphs within thesubset of code graphs, wherein the first code graph is determined tohave the minimum bit error probability of the subset of code graphs. 3.The method of claim 2, wherein the generating is performed iterativelyuntil a subset of code graphs corresponding to the number of bitsrepresented by the first code graph is obtained.
 4. The method of claim1, further comprising: evaluating all possible code graphs for a codelength value to determine that the first code graph has the minimum biterror probability.
 5. The method of claim 1, wherein the total number ofpackets are a total number of packets that are un-recovered through onetransmission pass.
 6. The method of claim 1, wherein the first codegraph is represented by a cardinality set with 2^(M)−1 elements, whereinM is a number of parity packets transmitted.
 7. The method of claim 1,wherein the number of un-recovered packets corresponds to the number ofresidual erasure bits that are un-recovered as a result of iterativedecoding.
 8. The method of claim 1, wherein the at least one encodedun-recovered packet is retransmitted through channels in parallel withnew packets that succeed an originally transmitted packet correspondingto the at least one encoded un-recovered packet in a transmission queue.9. The method of claim 1, further comprising: determining whetherun-recovered packets are parity packets or information packets, whereinthe retransmitting further comprises retransmitting only un-recoveredinformation packets.
 10. A method for retransmitting information inaccordance with a cognitive radio, anti-jamming rateless encoding schemecomprising: receiving an indication that an information sequenceincluded within transmitted information packets is un-recovered throughdecoding; generating additional parity bits from the un-recoveredinformation sequence in accordance with a rateless encoding scheme inresponse to receiving the indication; and transmitting the additionalparity bits.
 11. The method of claim 10, wherein the additional paritybits are transmitted through a fixed number of channels.
 12. The methodof claim 10, wherein the additional parity bits are transmitted inparallel with new information packets including information bitsselected from a new information sequence that was not previously encodedfor transmission.
 13. The method of claim 12, wherein a total number ofnew information packets transmitted is less than a total number ofinformation packets transmitted in a previous transmission pass topermit the transmission of the additional parity bits.
 14. The method ofclaim 12, wherein a total number of redundant packets for the newinformation sequence transmitted is less than a total number ofredundant packets transmitted in a previous transmission pass to permittransmission of the additional parity bits.